Das Programm Minterm wurde zum minimieren von Boolschen Formeln entwickelt die
bis zu 15 Variablen enthalten dürfen. Zum minimieren wird der Quine-McCluskey-
Algoritmus benutzt. Minterm greift auf die Vorteile des AmigaOS 2.04 zurück und
besitzt deshalb eine einfache und übersichtliche Benutzeroberfläche.
Minterm ist Freeware benutzen Sie es soviel Sie wollen. Ich wäre jedoch sehr
froh, wenn ich eine schöne Postkarte mit einen Blick auf Ihre Heimatstadt als
Dank für mein Programm erhalte. Dies ist dann für mich ein Zeichen, daß mein
Programm auch benutzt wird.
Da Minterm V2.0 AmigaOS 2.04 benötigt, habe ich für alle AmigaOS 1.2/1.3 Nutzer Minterm V1.1 beigefügt. Bitte lesen Sie deshalb die Ergänzung am Ende dieser Datei.
ACHTUNG !!!
-----------
Ich habe mein Programm zwar ausgiebig getestet, jedoch übernehme ich keine Ga-
rantie fr die Korrektheit der Ergebnisse und natürlich kann ich auch nicht
garantieren, das mein Programm fehlerfrei durchlaufen wird.
II. Das Benutzerinterface
-------------------------
CLOSEGADGET
Mit diesen Gadget können Sie das Programm beenden. Dies funktioniert jedoch
nur, wenn es auf eine Eingabe wartet. Den Vorgang des Minimieren kann man damit
nicht unterbrechen.
RESET-Gadget
Dieses Gadget setzt das Programm in den Urzustand zurück. Sie müssen dieses
Gadget betätigen, wenn Sie nach der erfolgreichen Minimierung einer Formel, eine weitere bearbeiten wollen.
String-Gadget
In dieses Gadget tragen Sie die zu minimierende Formel ein. Nachdem Sie die
Formel vollständig eingegeben haben, starten Sie mit RETURN die Minimierung.
Dieses Gadget befindet sich am unteren Rand des Fensters.
Listview-Gadget
Dieses Gadget befindet sich am rechten Rand des Fensters. In diesem Gadget wird
das Ergebnis der Minimierung gezeigt. In jeder Zeile des Gadgets wird ein Term
der Lösung aufgelistet.
Cycle-Gadget
Dieses Gadget befindet sich rechts über dem String-Gadget. Mit diesen Gadget
können Sie sich durch die gültigen Lösungen schalten, wenn mehr als eine exis-
tieren sollte.
Information-Gadgets
Dieses Gadgets finden Sie in der linken Ecke des Fensters. Sie zeigen Ihnen
verschiedenen Informationen, wie die Anzahl des Terme, die Anzahl der Variablen
und in welcher Phase der Minimierung sich das Programm befindet.
Die fünf einzelnen Phasen habe ich hier aufgelistet:
Get formula -> Es wird auf die Eingabe der Formel gewartet.
Transforming -> Die einzelnen Terme werden ergänzt und umgewandelt.
Minimizing -> Die Minimierung läuft.
Solving -> Das Programm erstellt alle gültigen Lösungen.
Show solution-> Das Ergebnis wird gezeigt.
III Wie wird Minterm benutzt.
-----------------------------
Es gibt drei Möglichkeiten eine Formel einzugeben:
1) Als Formel mit vollstndigen oder unvollständigen Termen.
2) Als eine Anzahl von Termnummern.
3) Als Mischform von 1 + 2.
I denke der beste Weg Ihnen die Benutzung meines Programmes zu erklären, ist
ein Beispiel.
_ _ _
abc + abc + abc
Dies ist eine typische Boolsche Formel in der Kurzform. Die lange Form ist:
NOT a AND b AND c OR NOT a AND b AND NOT c OR a AND b AND c
1) Als Formel mit voll- oder unvollständigen Termen.
Vollständige Terme.
Sie müssen das Beispiel wie folgt eingeben:
-abc + -ab-c + abc
_
Minterm erwartet eine negative Variable (NOT a / a) als -a.
Achtung:
- Minterm benutzt nur die ersten 15 kleinen Buchstaben als Variablen.
- Ihre erste Variable MUSS a heiáen, die zweite b usw..
- Ein Term ist eine Zeichenkette von Buchstaben und dem '-'-Zeichen.
zum Beispiel: -ab-c
- Minterm zeigt die Lösung in dem grossen Gadget, das sich rechts im Fenster
befindet. Jede Zeile enthält ein Term der Lösung. Diese Terme müssen vom
Benutzer nur noch mit ein '+'-Zeichen oder entsprechend mit dem logischen
ODER verbunden werden. Zum Beispiel:
-ab
bc
Wird so als Lösung geschrieben.
_
ab + bc oder NOT a AND b OR b AND c
Unvollständige Terme
Ein vollständiger Term beinhaltet immer alle Variablen, ein unvollständiger Term jedoch, enthält nur einige Variablen.
Beispiel:
-abc + -ab-c + bc
In dieser Formel in Minterm-Notation ist der letzte Term unvollständig. Minterm
bemerkt dies und vervollständigt den Term bevor die Minimierung beginnt. Das
Ergebnis wird dadurch nicht verfälscht.
2) Als eine Anzahl von Termnummern.
Eine Termnummer ist die Position des entsprechenden Termes in der Wahrheits-
tabelle. Für unser Beispiel sieht die Tabelle wie folgt aus:
Wahrheitstabelle
n c ! b ! a ! Q
---+---+---+---
0 0 ! 0 ! 0 ! 0
1 0 ! 0 ! 1 ! 0
2 0 ! 1 ! 0 ! 1
3 0 ! 1 ! 1 ! 0
4 1 ! 0 ! 0 ! 0
5 1 ! 0 ! 1 ! 0
6 1 ! 1 ! 0 ! 1
7 1 ! 1 ! 1 ! 1
In dieser Tabelle sind alle möglichen Kombinationen der Variablen aufgelistet.
Links von der Tabelle habe ich alle Zeilen durchnummeriert. Dies sind die Term-
nummern.
Achtung:
- Die Variablen müssen immer von rechts nach links in der Tabelle aufgeführt
sein. Wie in der Beispieltabelle.
- Die erste Zeile muss immer mit Null beziffert werden.
Unser Beispiel kann wie folgt mit Termnummern eingegeben.
2 + 6 + 7
Der Vorteil dieser Form der Eingabe ist:
1. weniger Zeichen mssen eingetippt werden.
2. die meisten Boolschen Formeln werden aus Wahrheitstabellen erstellt und
deshalb ist bequem diese Form der Eingabe zu wählen.
3) Eingabe als Mixform von Termen und Termnummern
I kann mir keine Anwendung vorstellen, bei der diese Form der Eingabe ein Sinn
ergibt. Dennoch ist diese Form möglich.
Achtung:
- Wenn Sie in einem Term eine Zahl plazieren, so wird immer die Termnummer
genommen.
Beispiel: -a3c
Minterm nimmt in diesen Fall den Term Nummer 3 und ignoriert -ac.
Ein Korrektes Beispiel für die Mixform ist:
-abc + 6 + abc
Diese Formel entspricht der Formel "-abc + -ab-c + abc".
IV. Fehlermeldungen
-------------------
Alle folgende Meldungen werden in einen Requester gezeigt. In den meisten Fällen findet der Benutzer drei Gadgets vor. Klicken Sie Ihre Auswahl an und das Programm wird entsprechend reagieren.
No more memory
Not enough memory for table
Das Programm bentigt mehr Speicher, aber Ihr Rechner hat keinen freien Speicher
mehr.
Too much restterms
Minterm V1.1/V2.0 kann nur max. 32 Restterme verwalten. Bei Ihrer Formel ent-
stehen mehr als 32. Entschuldigung, aber Sie müssen Ihr Problem wohl selbst lö-
sen. Beim Testen trat dieses Problem nie auf. Schicken Sie mir Ihre Formel,
falls Sie es schaffen.
No formulas
Sie haben keine Formel eingegeben.
Too much variables
Ihre Formel enthält mehr als 15 Variablen.
Formula is always true
Ihre Formel führt zu einem Ergebnis, das bei jeder Kombination von Variablen
zum Ergebnis wahr führt.
Beispiel:
ab + -ab + a-b + -a-b
V. Support
----------
Dieses Programm ist Freeware, deshalb biete ich nur eine geringen Support.
Dieser besteht darin, mir bekannte Fehler zu beheben. Deshalb senden Sie mir
bitte eine ausführliche Beschreibung mit allen Eingaben, die Sie getätigt haben, wenn Sie einen Fehler entdecken. Danke!
Ich werde eine korrektierte Version meines Programmes sobald als möglich in die
Public Domain geben. Bitte schicken Sie mir keine Disketten, ich kann diese aus
kostengründen nicht zurücksenden. Ausserdem kann eine Korrektur einige Zeit
dauern, da ich nicht ständig vor dem Rechner sitzen kann und will.
Addresse:
Achim Pankalla
Hansa Strasse 12
D-2970 Emden 1
Germany (West)
VI. Minterm V1.1
----------------
Minterm V1.1 benutzt den selben Kode zum minimieren von Formeln wie die Version
2.0, jedoch ist die Version 1.1 natürlich älter und besitzt eine nur schlechte
Benutzeroberfläche, da Sie damals schnell fertig sein musste.
Hier die Unterschiede zwischen V1.1 und V2.0:
- Bevor Sie die Terme eingeben knnen, müssen Sie in das "Number of vars."
Gadget die Anzahl der Variablen eingeben.
- Dann geben Sie bitte einzelt die Terme ein und zwar in das "Term/Termnumber"
Gadget.
Beispiel: Formel : a-b + ab
Eingabe: a-b <RETURN>
ab <RETURN>
- Um die Minimierung zu starten, betätigen Sie das Minimize-Gadget.
- Der Ablauf der Minimierung wird in der Workbench-Titelzeile aufgezeigt.
- Die Lösung der Minimierung wird in einem separaten Fenster gezeigt. Diese
wird mit den Closegadget geschlossen. Sind mehrere Lsungen möglich, werden
diese nacheinander gezeigt.
Haben Sie erst einmal ein Lösungsfenster geschlossen, so können Sie diese
Lösung nicht mehr zurückrufen.
- Um eine weitere Formel zu minimieren, muß das Programm beendet und neu ge-
startet werden.
- Alle Fehler werden im Hauptfenster angezeigt. Sie müssen das Programm beenden